
#pragma once

#include <cstddef>
#include <cassert>

#ifdef _MSC_VER
    #define FUNCTION_NAME __FUNCSIG__     
#elif
    #define FUNCTION_NAME PRETTYFUNCTION
#endif

#define LOGGING_THIS_FUNCTION\
    tools::Log log(FUNCTION_NAME, __FILE__, __LINE__);

#define LOG\
    log.Endl(); log


namespace std
{
    template<class _Traits> 
        struct char_traits;

    template<class _Elem, class _Traits> 
        class basic_ostream;

}//namespace std


namespace tools{

    struct LogCore;

}//namespace tools

    





